CREATE TABLE tb_acessos (
  acesso_cod INTEGER  NOT NULL   IDENTITY ,
  usu_login VARCHAR(20)  NOT NULL  ,
  data_hora_login DATETIME    ,
  data_hora_logout DATETIME      ,
PRIMARY KEY(acesso_cod));
GO



CREATE TABLE tb_cancelamento (
  cancelamento_cod INTEGER  NOT NULL   IDENTITY ,
  usu_login_responsavel VARCHAR(20)  NOT NULL  ,
  ocorrencia_cod INTEGER  NOT NULL  ,
  cancelamento_data DATE  NOT NULL  ,
  cancelamento_descricao VARCHAR(255)  NOT NULL    ,
PRIMARY KEY(cancelamento_cod));
GO



CREATE TABLE tb_categoria_ocorrencia (
  categoria_cod INTEGER  NOT NULL   IDENTITY ,
  categoria_nome VARCHAR(20)  NOT NULL  ,
  categoria_descricao VARCHAR(255)      ,
PRIMARY KEY(categoria_cod));
GO



CREATE TABLE tb_mudancas_ocorrencia (
  mudanca_cod INTEGER  NOT NULL   IDENTITY ,
  ocorrencia_original_cod INTEGER  NOT NULL  ,
  ocorrencia_cod INTEGER  NOT NULL  ,
  usu_login_responsavel VARCHAR(20)  NOT NULL  ,
  mudanca_data DATE  NOT NULL    ,
PRIMARY KEY(mudanca_cod));
GO



CREATE TABLE tb_ocorrencia (
  ocorrencia_cod INTEGER  NOT NULL   IDENTITY ,
  categoria_cod INTEGER  NOT NULL  ,
  ocorrencia_av_rua VARCHAR(30)  NOT NULL  ,
  ocorrencia_bairro VARCHAR(30)  NOT NULL  ,
  ocorrencia_ponto_ref VARCHAR(100)  NOT NULL  ,
  ocorrencia_cep VARCHAR(30)    ,
  denunciante_nome VARCHAR(30)  NOT NULL  ,
  denunciante_email VARCHAR(30)    ,
  denunciante_celular VARCHAR(30)    ,
  ocorrencia_envio CHAR(1)  NOT NULL  ,
  ocorrencia_imagem VARCHAR(255)    ,
  ocorrencia_data_cadastro DATE  NOT NULL  ,
  ocorrencia_data_conclusao DATE    ,
  ocorrencia_situacao CHAR(1)  NOT NULL    ,
PRIMARY KEY(ocorrencia_cod));
GO



CREATE TABLE tb_pedido (
  pedido_cod INTEGER  NOT NULL   IDENTITY ,
  ocorrencia_cod INTEGER  NOT NULL  ,
  pedido_data_final DATE  NOT NULL  ,
  pedido_observacao VARCHAR(255)    ,
  pedido_situacao CHAR(1)      ,
PRIMARY KEY(pedido_cod));
GO



CREATE TABLE tb_proposta (
  proposta_cod INTEGER  NOT NULL   IDENTITY ,
  terc_cod INTEGER  NOT NULL  ,
  pedido_cod INTEGER  NOT NULL  ,
  proposta_data_envio DATE  NOT NULL  ,
  proposta_observacao VARCHAR(255)    ,
  proposta_valor DOUBLE PRECISION  NOT NULL  ,
  proposta_prazo VARCHAR(30)  NOT NULL  ,
  proposta_situacao INTEGER      ,
PRIMARY KEY(proposta_cod));
GO



CREATE TABLE tb_terceiros (
  terc_cod INTEGER  NOT NULL   IDENTITY ,
  terc_nome VARCHAR(50)  NOT NULL  ,
  terc_email VARCHAR(50)  NOT NULL  ,
  terc_cnpj VARCHAR(50)  NOT NULL  ,
  terc_fone VARCHAR(50)    ,
  end_av_rua VARCHAR(25)  NOT NULL  ,
  end_num INTEGER  NOT NULL  ,
  end_complemento VARCHAR(50)    ,
  end_uf VARCHAR(50)  NOT NULL  ,
  end_cidade VARCHAR(50)  NOT NULL  ,
  end_bairro VARCHAR(25)  NOT NULL  ,
  end_cep VARCHAR(10)  NOT NULL    ,
PRIMARY KEY(terc_cod));
GO



CREATE TABLE tb_usuario (
  usu_login VARCHAR(20)  NOT NULL   IDENTITY ,
  usu_senha VARCHAR(20)  NOT NULL  ,
  usu_nome VARCHAR(30)  NOT NULL  ,
  usu_sobrenome VARCHAR(50)  NOT NULL  ,
  usu_data_nasc DATE  NOT NULL  ,
  usu_prioridade CHAR(1)  NOT NULL  ,
  usu_av_rua VARCHAR(30)  NOT NULL  ,
  usu_num VARCHAR(10)  NOT NULL  ,
  usu_complemento VARCHAR(30)    ,
  usu_uf VARCHAR(30)  NOT NULL  ,
  usu_cidade VARCHAR(30)  NOT NULL  ,
  usu_bairro VARCHAR(30)  NOT NULL  ,
  usu_cep VARCHAR(30)  NOT NULL    ,
PRIMARY KEY(usu_login));
GO



CREATE TABLE tb_usuario_ocorrencia (
  usu_login VARCHAR(20)  NOT NULL  ,
  ocorrencia_cod INTEGER  NOT NULL    ,
PRIMARY KEY(usu_login, ocorrencia_cod));
GO




